package com.quizzer.system.domain;

import java.time.LocalDateTime;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.quizzer.common.annotation.Excel;

/**
 * 题目对象 question
 *
 * @author ruoyi
 * @date 2025-10-07
 */
public class Question
{
    private static final long serialVersionUID = 1L;

// DEBUG: id - Long - 题目ID
    /** 题目ID */
    private Long id;

// DEBUG: categoryId - Long - 所属小类别ID
    /** 所属小类别ID */
    @Excel(name = "所属小类别ID")
    private Long categoryId;

// DEBUG: questionText - String - 题目内容
    /** 题目内容 */
    @Excel(name = "题目内容")
    private String questionText;

// DEBUG: answerText - String - 答案内容
    /** 答案内容 */
    @Excel(name = "答案内容")
    private String answerText;

// DEBUG: difficulty - Integer - 难度级别：1-简单，2-中等，3-困难
    /** 难度级别：1-简单，2-中等，3-困难 */
    @Excel(name = "难度级别：1-简单，2-中等，3-困难")
    private Integer difficulty;

// DEBUG: sort - Integer - 排序字段，数值越小越靠前
    /** 排序字段，数值越小越靠前 */
    @Excel(name = "排序字段，数值越小越靠前")
    private Integer sort;

// DEBUG: createTime - LocalDateTime - 创建时间
    /** 创建时间 */
    private LocalDateTime createTime;

// DEBUG: updateTime - LocalDateTime - 更新时间
    /** 更新时间 */
    private LocalDateTime updateTime;

    public void setId(Long id)
    {
        this.id = id;
    }

    public Long getId()
    {
        return id;
    }

    public void setCategoryId(Long categoryId)
    {
        this.categoryId = categoryId;
    }

    public Long getCategoryId()
    {
        return categoryId;
    }

    public void setQuestionText(String questionText)
    {
        this.questionText = questionText;
    }

    public String getQuestionText()
    {
        return questionText;
    }

    public void setAnswerText(String answerText)
    {
        this.answerText = answerText;
    }

    public String getAnswerText()
    {
        return answerText;
    }

    public void setDifficulty(Integer difficulty)
    {
        this.difficulty = difficulty;
    }

    public Integer getDifficulty()
    {
        return difficulty;
    }

    public void setSort(Integer sort)
    {
        this.sort = sort;
    }

    public Integer getSort()
    {
        return sort;
    }

    public void setCreateTime(LocalDateTime createTime)
    {
        this.createTime = createTime;
    }

    public LocalDateTime getCreateTime()
    {
        return createTime;
    }

    public void setUpdateTime(LocalDateTime updateTime)
    {
        this.updateTime = updateTime;
    }

    public LocalDateTime getUpdateTime()
    {
        return updateTime;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("categoryId", getCategoryId())
            .append("questionText", getQuestionText())
            .append("answerText", getAnswerText())
            .append("difficulty", getDifficulty())
            .append("sort", getSort())
            .append("createTime", getCreateTime())
            .append("updateTime", getUpdateTime())
            .toString();
    }
}
